package com.yuandian.api.management.vo;

import com.yuandian.api.management.validate.InsertFlag;
import com.yuandian.api.management.validate.UpdateFlag;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;


/**
 * 分页过滤条件
 */
@Data
public class EndToEndRelationshipVo {

	/**
	 * 所属系统id
	 */
	@NotNull(message = "系统id不为空")
	@ApiModelProperty(value = "所属系统id", notes = "所属系统id")
	private Integer systemId;

	/**
	 * 所属业务编码
	 */
	@NotNull(message = "所属业务编码不为空")
	@ApiModelProperty(value = "所属业务编码", notes = "所属业务编码")
	private String businessCode;

	/**
	 * 步骤编码(绑定的业务服务资源编码)
	 */
	@NotNull(message = "步骤编码不能为空",groups = InsertFlag.class)
	@ApiModelProperty(value = "步骤编码", notes = "步骤编码(绑定的业务服务资源编码)")
	private String stepCode;

	/**
	 * 父资源节点资源编码
	 */
	@ApiModelProperty(value = "父资源节点资源编码,当前节点为根节点是,父资源节点值为空", notes = "当前节点为根节点是,父资源节点值为空")
	private String parentResourceCode;

	/**
	 *	当前节点资源编码
	 */
//	@NotNull(message = "当前节点资源编码不能为空", groups = {InsertFlag.class, DeleteFlag.class})
	@ApiModelProperty(value = "当前节点资源编码", notes = "当前节点资源编码")
	private String resourceCode;

	/**
	 * 当前节点网端id
	 */
	@NotNull(message = "当前节点网端id不能为空", groups = InsertFlag.class)
	@ApiModelProperty(value = "当前节点网端id", notes = "当前节点网端id")
	private Integer segmentId;

	/**
	 * 坐标x
	 */
	@NotNull(message = "网端x坐标不能为空", groups = {InsertFlag.class, UpdateFlag.class})
	@ApiModelProperty(value = "坐标x", notes = "坐标x")
	private Double locationX;

	/**
	 * 坐标y
	 */
	@NotNull(message = "网端y坐标不能为空", groups =  {InsertFlag.class, UpdateFlag.class})
	@ApiModelProperty(value = "坐标y", notes = "坐标y")
	private Double locationY;

	/**
	 * 是否递归删除
	 */
	@ApiModelProperty(value = "是否递归删除，默认false", notes = "是否递归删除，默认false")
	private Boolean isRecursiveDelete;

	/**
	 * 节点id
	 */
	@ApiModelProperty(value = "节点id", notes = "节点id")
	private String nodeId;

	/**
	 * 节点id
	 */
	@NotNull(message = "父节点id不能为空",groups = InsertFlag.class)
	@ApiModelProperty(value = "父节点id", notes = "父节点id")
	private String parentNodeId;
}
